using System;
using System.Collections;
using System.Collections.Generic;

using Atom.Data.Base;

namespace Atom.Data.BusinessObjects
{
    public partial class HLeavehosleechdomDetail : BusinessBase<string>
    {
        #region Declarations

		private string _inhosid = String.Empty;
		private int _currentinhosmark = default(Int32);
		private string _detailaccountid = String.Empty;
		private string _leechdomno = String.Empty;
		private string _leechdombatch = String.Empty;
		private int _leechdomstate = default(Int32);
		private decimal _buyprice = default(Decimal);
		private int _amount = default(Int32);
		private decimal _wholesaleprice = default(Decimal);
		private decimal? _money = null;
		private decimal _retailprice = default(Decimal);
		private string _storeroomid = null;
		private System.DateTime _operatedate = new DateTime();
		
		
		
		#endregion

        #region Constructors

        public HLeavehosleechdomDetail() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_inhosid);
			sb.Append(_currentinhosmark);
			sb.Append(_detailaccountid);
			sb.Append(_leechdomno);
			sb.Append(_leechdombatch);
			sb.Append(_leechdomstate);
			sb.Append(_buyprice);
			sb.Append(_amount);
			sb.Append(_wholesaleprice);
			sb.Append(_money);
			sb.Append(_retailprice);
			sb.Append(_storeroomid);
			sb.Append(_operatedate);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public override string Id
		{
			get
			{
				System.Text.StringBuilder uniqueId = new System.Text.StringBuilder();
				uniqueId.Append(_inhosid.ToString());
				uniqueId.Append("^");
				uniqueId.Append(_currentinhosmark.ToString());
				uniqueId.Append("^");
				uniqueId.Append(_detailaccountid.ToString());
				uniqueId.Append("^");
				uniqueId.Append(_leechdomno.ToString());
				uniqueId.Append("^");
				uniqueId.Append(_leechdombatch.ToString());
				uniqueId.Append("^");
				uniqueId.Append(_leechdomstate.ToString());
				return uniqueId.ToString();
			}
		}
		
		public virtual string Inhosid
        {
            get { return _inhosid; }
			set
			{
				OnInhosidChanging();
				_inhosid = value;
				OnInhosidChanged();
			}
        }
		partial void OnInhosidChanging();
		partial void OnInhosidChanged();
		
		public virtual int Currentinhosmark
        {
            get { return _currentinhosmark; }
			set
			{
				OnCurrentinhosmarkChanging();
				_currentinhosmark = value;
				OnCurrentinhosmarkChanged();
			}
        }
		partial void OnCurrentinhosmarkChanging();
		partial void OnCurrentinhosmarkChanged();
		
		public virtual string Detailaccountid
        {
            get { return _detailaccountid; }
			set
			{
				OnDetailaccountidChanging();
				_detailaccountid = value;
				OnDetailaccountidChanged();
			}
        }
		partial void OnDetailaccountidChanging();
		partial void OnDetailaccountidChanged();
		
		public virtual string Leechdomno
        {
            get { return _leechdomno; }
			set
			{
				OnLeechdomnoChanging();
				_leechdomno = value;
				OnLeechdomnoChanged();
			}
        }
		partial void OnLeechdomnoChanging();
		partial void OnLeechdomnoChanged();
		
		public virtual string Leechdombatch
        {
            get { return _leechdombatch; }
			set
			{
				OnLeechdombatchChanging();
				_leechdombatch = value;
				OnLeechdombatchChanged();
			}
        }
		partial void OnLeechdombatchChanging();
		partial void OnLeechdombatchChanged();
		
		public virtual int Leechdomstate
        {
            get { return _leechdomstate; }
			set
			{
				OnLeechdomstateChanging();
				_leechdomstate = value;
				OnLeechdomstateChanged();
			}
        }
		partial void OnLeechdomstateChanging();
		partial void OnLeechdomstateChanged();
		
		public virtual decimal Buyprice
        {
            get { return _buyprice; }
			set
			{
				OnBuypriceChanging();
				_buyprice = value;
				OnBuypriceChanged();
			}
        }
		partial void OnBuypriceChanging();
		partial void OnBuypriceChanged();
		
		public virtual int Amount
        {
            get { return _amount; }
			set
			{
				OnAmountChanging();
				_amount = value;
				OnAmountChanged();
			}
        }
		partial void OnAmountChanging();
		partial void OnAmountChanged();
		
		public virtual decimal Wholesaleprice
        {
            get { return _wholesaleprice; }
			set
			{
				OnWholesalepriceChanging();
				_wholesaleprice = value;
				OnWholesalepriceChanged();
			}
        }
		partial void OnWholesalepriceChanging();
		partial void OnWholesalepriceChanged();
		
		public virtual decimal? Money
        {
            get { return _money; }
			set
			{
				OnMoneyChanging();
				_money = value;
				OnMoneyChanged();
			}
        }
		partial void OnMoneyChanging();
		partial void OnMoneyChanged();
		
		public virtual decimal Retailprice
        {
            get { return _retailprice; }
			set
			{
				OnRetailpriceChanging();
				_retailprice = value;
				OnRetailpriceChanged();
			}
        }
		partial void OnRetailpriceChanging();
		partial void OnRetailpriceChanged();
		
		public virtual string Storeroomid
        {
            get { return _storeroomid; }
			set
			{
				OnStoreroomidChanging();
				_storeroomid = value;
				OnStoreroomidChanged();
			}
        }
		partial void OnStoreroomidChanging();
		partial void OnStoreroomidChanged();
		
		public virtual System.DateTime Operatedate
        {
            get { return _operatedate; }
			set
			{
				OnOperatedateChanging();
				_operatedate = value;
				OnOperatedateChanged();
			}
        }
		partial void OnOperatedateChanging();
		partial void OnOperatedateChanged();
		
        #endregion
    }
}
